# coding: utf-8
from django.db import models
from django.contrib.contenttypes.models import ContentType
from django.contrib.contenttypes import generic

# Create your models here.
class Good(models.Model):
    content_type = models.ForeignKey(ContentType)
    object_id = models.PositiveIntegerField()
    content_object = generic.GenericForeignKey('content_type', 'object_id')
    img = models.ImageField(upload_to='uploads/good',verbose_name=u'Фото')
    title = models.CharField(max_length=50,verbose_name=u'Название и цена')

    def __unicode__(self):
        return self.title

    class Meta:
        verbose_name = "Предмет"
        verbose_name_plural = "Предметы"
        ordering=['-id']
        
class PhotoMain(models.Model):
    TYPE_CHOICES = (
        (u'left', u'Слева'),
        (u'right', u'Справа'),
    )
    type = models.CharField(max_length=5, choices=TYPE_CHOICES, verbose_name=u'Расположение')
    img = models.ImageField(upload_to='uploads/photo_main', verbose_name=u'Изображение', help_text=u'Размер картинки по гор и верт должен быть 6 к 11')
    order = models.IntegerField(u'Порядок появления', blank=True, default=0)

    def __unicode__(self):
        return '<img src="/media/'+str(self.img)+'">'

    def picture(self):
        return '<img src="/media/'+str(self.img)+'">'

    picture.allow_tags = True

    class Meta:
        verbose_name = "Фотография на главной"
        verbose_name_plural = "Фотографии на главной"
        ordering=['order']

class MenGoodClass(models.Model):
    img = models.ImageField(upload_to='uploads/good_class/men', verbose_name=u'Изображение')
    title = models.CharField(max_length=50,verbose_name=u'Название')
    order = models.IntegerField(u'Порядок', blank=True, default=0)
    tags = generic.GenericRelation(Good)

    def get_absolute_url(self):
        return '/cat_men/'+str(self.pk)+'/'

    def __unicode__(self):
        return self.title

    class Meta:
        verbose_name = "Мужская коллекция"
        verbose_name_plural = "Мужские коллекции"
        ordering=['order']

class WomenGoodClass(models.Model):
    img = models.ImageField(upload_to='uploads/good_class/women', verbose_name=u'Изображение')
    title = models.CharField(max_length=50,verbose_name=u'Название')
    order = models.IntegerField(u'Порядок', blank=True, default=0)
    tags = generic.GenericRelation(Good)

    def get_absolute_url(self):
        return '/cat_women/'+str(self.pk)+'/'

    def __unicode__(self):
        return self.title

    class Meta:
        verbose_name = "Женская коллекция"
        verbose_name_plural = "женские коллекции"
        ordering=['order']
'''
class WomenGoodClass(models.Model):
    img = models.ImageField(upload_to='uploads/good_class/women', verbose_name=u'Изображение')
    title = models.CharField(max_length=50,verbose_name=u'Название')
    order = models.IntegerField(u'Порядок', blank=True, default=0)
    tags = generic.GenericRelation(Good)

    def get_absolute_url(self):
        return '/cat_women/'+str(self.pk)+'/'

    def __unicode__(self):
        return self.title

    class Meta:
        verbose_name = "Женская коллекция"
        verbose_name_plural = "Женские коллекции"
        ordering=['order']
'''
class DecorGoodClass(models.Model):
    img = models.ImageField(upload_to='uploads/good_class/decor', verbose_name=u'Изображение')
    title = models.CharField(max_length=50,verbose_name=u'Название')
    order = models.IntegerField(u'Порядок', blank=True, default=0)
    tags = generic.GenericRelation(Good)

    def get_absolute_url(self):
        return '/cat_decor/'+str(self.pk)+'/'

    def __unicode__(self):
        return self.title

    class Meta:
        verbose_name = "Декор интерьера"
        verbose_name_plural = "Декор интерьера"
        ordering=['order']

class Collection(models.Model):
    year = models.IntegerField(verbose_name=u'Год')
    title = models.CharField(max_length=300,verbose_name=u'Название')

    def images(self):
        return CollectionImg.objects.filter(collection=self)

    def __unicode__(self):
        return self.title

    class Meta:
        verbose_name = "Показ коллекции"
        verbose_name_plural = "Показы коллекций"
        ordering=['-year', '-id']

class CollectionImg(models.Model):
    collection = models.ForeignKey(Collection)
    img = models.ImageField(upload_to='uploads/collections', verbose_name=u'Изображение', help_text=u'Размер картинки по гор и верт должен быть 2 к 3')

    def picture(self):
        return '<img src="/media/'+str(self.img)+'">'

    picture.allow_tags=True

    def __unicode__(self):
        return str(self.img)


class New(models.Model):
    public = models.BooleanField(default=True,verbose_name=u'Опубликовать')
    title = models.CharField(max_length=300,verbose_name=u'Заголовок')
    date = models.DateField(verbose_name=u'Дата')
    img = models.ImageField(verbose_name=u'Картинка к новости', upload_to='uploads/news', help_text=u'Размер картинки по гор и верт должен быть 3 к 4')
    anounce = models.TextField(verbose_name=u'Анонс')
    text = models.TextField(verbose_name=u'Полный текст')

    def get_absolute_url(self):
        return '/news/'+str(self.pk)+'/'

    def __unicode__(self):
        return self.title

    class Meta:
        verbose_name = "Новость"
        verbose_name_plural = "Новости"
        ordering=['-date']